package com.ruoyi.service;

import com.ruoyi.domain.ModuleInfo;
import com.ruoyi.platform.service.BaseManager;

import java.util.List;

/**
 * 组件Service接口
 *
 * @author tp
 * @date 2022-11-02
 */
public interface IModuleInfoService extends BaseManager<ModuleInfo>
{
    /**
     * 查询组件
     *
     * @param id 组件主键
     * @return 组件
     */
    public ModuleInfo selectModuleInfoById(Integer id);

    /**
     * 查询组件列表
     *
     * @param moduleInfo 组件
     * @return 组件集合
     */
    public List<ModuleInfo> selectModuleInfoList(ModuleInfo moduleInfo);

    /**
     * 新增组件
     *
     * @param moduleInfo 组件
     * @return 结果
     */
    public Integer insertModuleInfo(ModuleInfo moduleInfo);

    /**
     * 修改组件
     *
     * @param moduleInfo 组件
     * @return 结果
     */
    public int updateModuleInfo(ModuleInfo moduleInfo);

    /**
     * 批量删除组件
     *
     * @param ids 需要删除的组件主键集合
     * @return 结果
     */
    public int deleteModuleInfoByIds(Integer[] ids);

    /**
     * 删除组件信息
     *
     * @param id 组件主键
     * @return 结果
     */
    public int deleteModuleInfoById(Integer id);

    List<ModuleInfo> selectParentModuleInfo(Long type);

    List<ModuleInfo> selectChildrenModuleInfo(Integer parentId);
}
